#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "time.h"
#include "string.h"
#include "CARTE.h"
#include "CASE.h"
#include "JEU.h"



JEUCARTES carCreer_Carte()
{
    JEUCARTES tabcarte = (CARTE*)malloc(24*sizeof(CARTE));

      /*Les cartes mail*/
        strcpy(tabcarte[Mcar1].type,"mail");
        strcpy(tabcarte[Mcar1].consigne, "Perte de points pour excès de vitesse. Vous perdez 7 points.");
        strcpy(tabcarte[Mcar1].proprietaire,"");

        strcpy(tabcarte[Mcar2].type,"mail");
        strcpy(tabcarte[Mcar2].consigne,"Perte de points pour ivresse. Vous perdez 7 points.");
        strcpy(tabcarte[Mcar2].proprietaire,"");

        strcpy(tabcarte[Mcar3].type,"mail");
        strcpy(tabcarte[Mcar3].consigne,"Avancez jusqu'aux inscriptions pédagogiques. Vous recevez 5 points");
        strcpy(tabcarte[Mcar3].proprietaire,"");

        strcpy(tabcarte[Mcar4].type,"mail");
        strcpy(tabcarte[Mcar4].consigne,"Payez les frais de scolarité. Vous perdez 10 points.");
        strcpy(tabcarte[Mcar4].proprietaire,"");

        strcpy(tabcarte[Mcar5].type,"mail");
        strcpy(tabcarte[Mcar5].consigne,"CERTIFICAT MEDICAL. Votre présence en partiel n'est pas obligatoire. Cette carte peut être conservée jusqu'à ce qu'elle soit utilisée ou vendue.");
        strcpy(tabcarte[Mcar5].proprietaire,"");

        strcpy(tabcarte[Mcar6].type,"mail");
        strcpy(tabcarte[Mcar6].consigne,"Allez en partiel, avancez tout droit en partiel, ne passez pas par les inscriptions pédagogiques, ne recevez pas 5 points.");
        strcpy(tabcarte[Mcar6].proprietaire,"");

        strcpy(tabcarte[Mcar7].type,"mail");
        strcpy(tabcarte[Mcar7].consigne,"Vous avez gagné le prix du meilleur geek. Vous gagnez 2 points.");
        strcpy(tabcarte[Mcar7].proprietaire,"");

        strcpy(tabcarte[Mcar8].type,"mail");
        strcpy(tabcarte[Mcar8].consigne,"Reculez de 3 cases.");
        strcpy(tabcarte[Mcar8].proprietaire,"");

        strcpy(tabcarte[Mcar9].type,"mail");
        strcpy(tabcarte[Mcar9].consigne,"Faites des réparations dans vos bâtiments au lieu de réviser. Vous perdez 3 points.");
        strcpy(tabcarte[Mcar9].proprietaire,"");

        strcpy(tabcarte[Mcar10].type,"mail");
        strcpy(tabcarte[Mcar10].consigne,"Vous avez un TP de LIF7. Rendez-vous à Nautibus.");
        strcpy(tabcarte[Mcar10].proprietaire,"");

        strcpy(tabcarte[Mcar11].type,"mail");
        strcpy(tabcarte[Mcar11].consigne,"Le CM d'analyse n'est pas terminé. Retournez à l'amphithéâtre Jordan.");
        strcpy(tabcarte[Mcar11].proprietaire,"");

        strcpy(tabcarte[Mcar12].type,"mail");
        strcpy(tabcarte[Mcar12].consigne,"Allez emprunter un livre d'algèbre à l'étage 4 de la BU. Si vous passez par les IP, recevez 5 points.");
        strcpy(tabcarte[Mcar12].proprietaire,"");

    /*Les cartes référent pédagogique*/
        strcpy(tabcarte[RPcar1].type,"referent pedagogique");
        strcpy(tabcarte[RPcar1].consigne,"Vous êtes en progrès. Vous recevez 2 points d'encouragements.");
        strcpy(tabcarte[RPcar1].proprietaire,"");

        strcpy(tabcarte[RPcar2].type,"referent pedagogique");
        strcpy(tabcarte[RPcar2].consigne,"UN NOUVEAU MESSAGE. Tirez une carte mail.");
        strcpy(tabcarte[RPcar2].proprietaire,"");

        strcpy(tabcarte[RPcar3].type,"referent pedagogique");
        strcpy(tabcarte[RPcar3].consigne,"Avancez jusqu'aux inscriptions pédagogiques. Vous gagnez 5 points");
        strcpy(tabcarte[RPcar3].proprietaire,"");

        strcpy(tabcarte[RPcar4].type,"referent pedagogique");
        strcpy(tabcarte[RPcar4].consigne,"Assurance surveillance partiel. Vous perdez 2 points.");
        strcpy(tabcarte[RPcar4].proprietaire,"");

        strcpy(tabcarte[RPcar5].type,"referent pedagogique");
        strcpy(tabcarte[RPcar5].consigne,"CERTIFICAT MEDICAL. Votre présence en partiel n'est pas obligatoire. (Cette carte peut être conservée jusqu'à ce qu'elle soit utilisée ou vendue.");
        strcpy(tabcarte[RPcar5].proprietaire,"");

        strcpy(tabcarte[RPcar6].type,"referent pedagogique");
        strcpy(tabcarte[RPcar6].consigne,"Allez en partiel, avancez tout droit en partiel, ne passez pas par les inscriptions pédagogiques, ne recevez pas 5 points.");
        strcpy(tabcarte[RPcar6].proprietaire,"");

        strcpy(tabcarte[RPcar7].type,"referent pedagogique");
        strcpy(tabcarte[RPcar7].consigne,"Note du médecin pour un certificat médical. Vous perdez 10 points.");
        strcpy(tabcarte[RPcar7].proprietaire,"");

        strcpy(tabcarte[RPcar8].type,"referent pedagogique");
        strcpy(tabcarte[RPcar8].consigne,"C'est votre anniversaire : chaque joueur doit vous donner 2 points.");
        strcpy(tabcarte[RPcar8].proprietaire,"");

        strcpy(tabcarte[RPcar9].type,"referent pedagogique");
        strcpy(tabcarte[RPcar9].consigne,"Vous avez gagné le prix de mathématiques. Bravo. Vous gagnez 4 points.");
        strcpy(tabcarte[RPcar9].proprietaire,"");

        strcpy(tabcarte[RPcar10].type,"referent pedagogique");
        strcpy(tabcarte[RPcar10].consigne,"Erreur dans la correction de copies en votre faveur. Vous récupérez 3 points.");
        strcpy(tabcarte[RPcar10].proprietaire,"");

        strcpy(tabcarte[RPcar11].type,"referent pedagogique");
        strcpy(tabcarte[RPcar11].consigne,"Retournez au quai 43. Vous êtes bloqué à cause de l'attente. Passez un tour.");
        strcpy(tabcarte[RPcar11].proprietaire,"");

        strcpy(tabcarte[RPcar12].type,"referent pedagogique");
        strcpy(tabcarte[RPcar12].consigne,"Avancez de 2 cases.");
        strcpy(tabcarte[RPcar12].proprietaire,"");

    return tabcarte;
}


void carLibere_Carte(JEUCARTES *car)
{
    int i;
    for (i=0; i<24; i++)
    {
        free (car[i]);
    }
}


void carTestCarte()
{
    JEUCARTES car;
    int i;
    car = carCreer_Carte();
    printf("Tests du module CARTE : \n\n") ;
    /* Début du test de caCreer_Case*/
    printf("Test de caCreer_Case ... \n") ;
    for(i=0; i<=24; i++)
    {
        assert(strcmp(car[i].type,"")==1);
        assert(strcmp(car[i].consigne,"")==1);
        assert(strcmp(car[i].proprietaire,"")==0);
    }
    carLibere_Carte(&car);
    printf("Tests du module CASE terminé \n\n") ;
}

